package com.yc.cloud.openai.portal.dto.request;

import com.yc.cloud.openai.portal.enums.SpeechSpeaker;
import com.yc.cloud.openai.portal.enums.TextToSpeechProvider;

import io.swagger.v3.oas.annotations.media.Schema;
import jakarta.validation.constraints.NotEmpty;
import lombok.Data;

@Data
@Schema(name = "TextToSpeechRequest", description = "文本转语音请求参数")
public class TextToSpeechRequest {

    @Schema(description = "文本内容不能为空", example = "你好,欢迎使用openai开放平台的语音合成服务", required = true)
    @NotEmpty(message = "文本内容不能为空")
    private String text;

    @Schema(name = "provider", hidden = true)
    private String provider = TextToSpeechProvider.XUN_FEI.getKey();

    @Schema(description = "发音人", example = "MAN", allowableValues = { "MAN", "WOMAN" }, defaultValue = "MAN")
    private SpeechSpeaker speaker;

    @Schema(description = "客户端ID", example = "1234567890", required = true)
    @NotEmpty(message = "客户端ID不能为空")
    private String clientId;

}
